/**
 * 项目名：	Rumba Plan
 * 
 * 版权所有(C)，上海海鼎信息工程股份有限公司，2006，所有权利保留。
 * 
 * 文件名：	BBaseEntity.java
 * 模块说明：	
 * 修改历史：
 * 2006-4-28 - lxm - 创建。
 */
package com.hd123.rumba.runtime.biz;

import com.hd123.rumba.domain.biz.SDomain;
import com.hd123.rumba.exception.BusinessException;
import com.hd123.rumba.runtime.CBaseEntity;
import com.hd123.rumba.runtime.IBaseEntity;
import com.hd123.rumba.runtime.IPersistent;

/**
 * 实体基类 | 业务层 | 实体
 * 
 * @author lxm
 * 
 */
public abstract class BBaseEntity extends BVersionedPersistent {

  // ///////////////////////////////////////////////////////////////
  // Properties

  /** 属性：所属域 */
  protected SDomain domain = new SDomain();
  /** @deprecated */
  public static String CAPTION_DOMAIN = CBaseEntity.CAPTION_DOMAIN;
  /** 属性：最后修改人 */
  protected String lastModifier;
  /** @deprecated */
  public static String CAPTION_LASTMODIFIER = CBaseEntity.CAPTION_LASTMODIFIER;
  /** 属性：状态 */
  protected Integer state;
  /** @deprecated */
  public static String CAPTION_STATE = CBaseEntity.CAPTION_STATE;

  // ///////////////////////////////////////////////////////////////
  // Public methods

  public void readFrom(IPersistent source) throws BusinessException {
    super.readFrom(source);
    if (source instanceof IBaseEntity) {
      this.domain.readFrom(((IBaseEntity) source).getDomain());
      this.lastModifier = ((IBaseEntity) source).getLastModifier();
      this.state = ((IBaseEntity) source).getState();
    }
  }

  // ///////////////////////////////////////////////////////////////
  // Getter and Setter

  public SDomain getDomain() {
    return domain;
  }

  public void setDomain(SDomain domain) {
    this.domain = domain;
  }

  public String getLastModifier() {
    return lastModifier;
  }

  public void setLastModifier(String lastModifier) {
    this.lastModifier = lastModifier;
  }

  public Integer getState() {
    return state;
  }

  public void setState(Integer state) {
    this.state = state;
  }

}
